
from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 职业主动技能(主动技能):
    技能施放时间 = 0.0
    脱手 = 1


class 技能0(被动技能):
    名称 = '弹夹改装'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10
    等级精通 = 10
    关联技能 = ['交叉射击', '聚合弹', '凝固汽油弹', '电磁弹：麦克斯韦']
    关联技能1 = ['爆裂弹', '贯穿弹', '狙击手增援']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1 + (10 + self.等级) / 100, 3)

    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1 + (2 * self.等级) / 100, 3)


class 技能1(被动技能):
    名称 = '兵器研究'
    所在等级 = 20
    等级上限 = 20
    基础等级 = 10
    等级精通 = 10
    冷却关联技能 = ['所有']
    非冷却关联技能 = ['黑玫瑰特种战队', '超新星核爆', '赤魂风暴狙击']

    def 物理攻击力倍率(self, 武器类型):
        return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01)

    def 魔法攻击力倍率(self, 武器类型):
        return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01)

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1 - 0.01 * self.等级, 3)


class 技能2(被动技能):
    名称 = '手雷精通'
    所在等级 = 20
    等级上限 = 20
    基础等级 = 10
    等级精通 = 10
    关联技能 = ['G35感电手雷', 'G18冰冻手雷']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1 + 0.1 * self.等级, 3)


class 技能3(被动技能):
    名称 = '弹药改良'
    所在等级 = 20
    等级上限 = 20
    基础等级 = 10
    等级精通 = 10
    关联技能 = ['所有']
    技能加成描述 = ''
    加成数值 = 1.0
    关联技能1 = ['所有']

    def 加成倍率(self, 武器类型):
        return 1.1

    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 1.03 + min(10, self.等级) * 0.02 + max(0, self.等级 - 10) * 0.01


class 技能4(职业主动技能):
    名称 = "M18阔剑地雷"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [70, 588]
    无色消耗 = 0
    data0 = [0, 967, 1065, 1164, 1261, 1359, 1458, 1555, 1654, 1751, 1849, 1948, 2045, 2144, 2242, 2341, 2438, 2536, 2635, 2732, 2831, 2929, 3027, 3125, 3223, 3321, 3419, 3518, 3615, 3714, 3812, 3909, 4008, 4106, 4205, 4302, 4400, 4499, 4596, 4695, 4792, 4891, 4989, 5086, 5185, 5283, 5382, 5479, 5578, 5676, 5773, 5872, 5970, 6068, 6166, 6264, 6362, 6460, 6559, 6656, 6755, 6853, 6950, 7049, 7147, 7246, 7343, 7442, 7540, 7637, 7736]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能5(职业主动技能):
    名称 = 'G35感电手雷'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [40, 350]
    无色消耗 = 0
    data0 = [0, 2192, 2416, 2638, 2860, 3084, 3306, 3528, 3750, 3974, 4196, 4418, 4641, 4863, 5086, 5308, 5531, 5753, 5976, 6199, 6421, 6643, 6866, 7089, 7311, 7533, 7756, 7979, 8201, 8423, 8647, 8869, 9091, 9313, 9537, 9759, 9981, 10204, 10427, 10649, 10871, 11094, 11317, 11539, 11762, 11984, 12207, 12429, 12652, 12874, 13097, 13320, 13542, 13764, 13987, 14210, 14432, 14654, 14878, 15100, 15322, 15544, 15768, 15990, 16212, 16435, 16658, 16880, 17102, 17325, 17548]
    hit0 = 1
    data1 = [0, 243, 268, 293, 317, 342, 367, 392, 416, 441, 466, 490, 515, 540, 564, 589, 614, 639, 663, 688, 713, 737, 762, 787, 811, 836, 861, 887, 910, 936, 961, 985, 1010, 1035, 1059, 1084, 1109, 1134, 1158, 1183, 1208, 1232, 1257, 1282, 1306, 1331, 1356, 1380, 1405, 1430, 1455, 1479, 1504, 1529, 1553, 1578, 1603, 1627, 1652, 1677, 1702, 1726, 1751, 1777, 1800, 1826, 1851, 1875, 1900, 1925, 1950]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能6(职业主动技能):
    名称 = "交叉射击"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [70, 588]
    无色消耗 = 0
    data0 = [0, 2003, 2206, 2408, 2612, 2815, 3019, 3221, 3424, 3628, 3832, 4034, 4237, 4441, 4644, 4846, 5050, 5253, 5457, 5659, 5862, 6066, 6270, 6472, 6675, 6879, 7082, 7284, 7488, 7691, 7895, 8097, 8300, 8504, 8708, 8910, 9113, 9317, 9520, 9722, 9926, 10129, 10333, 10535, 10738, 10942, 11145, 11348, 11551, 11755, 11958, 12160, 12364, 12567, 12771, 12973, 13176, 13380, 13583, 13786, 13989, 14193, 14396, 14598, 14802, 15005, 15209, 15411, 15614, 15818, 16021]
    hit0 = 5
    TP成长 = 0.1
    TP上限 = 7
    # 三觉被动,变为10秒
    power0 = 0.6
    CD = 10.0


class 技能7(职业主动技能):
    名称 = "爆裂弹"
    所在等级 = 30
    等级上限 = 20
    学习间隔 = 3
    等级精通 = 10
    CD = 5
    MP = [357, 2765]
    无色消耗 = 0
    data0 = [0, 873, 1012, 1151, 1289, 1429, 1567, 1706, 1845, 1985, 2124, 2263, 2402, 2540, 2680, 2818, 2958, 3098, 3236, 3376, 3514]
    hit0 = 1
    power0 = 1.37 * 0.95


class 技能8(职业主动技能):
    名称 = "贯穿弹"
    所在等级 = 30
    等级上限 = 20
    学习间隔 = 3
    等级精通 = 10
    CD = 5
    MP = [357, 2765]
    无色消耗 = 0
    data0 = [0, 873, 1012, 1151, 1289, 1429, 1567, 1706, 1845, 1985, 2124, 2263, 2402, 2540, 2680, 2818, 2958, 3098, 3236, 3376, 3514]
    hit0 = 1

    def 等效百分比(self, **argv):
        self.出血data0 = [int(i*0.34*0.9) for i in self.data0]
        self.出血hit0 = 1
        return super().等效百分比(**argv)


class 技能9(职业主动技能):
    名称 = 'G18冰冻手雷'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    MP = [70, 560]
    无色消耗 = 0
    data0 = [0, 2827, 3115, 3401, 3689, 3975, 4262, 4550, 4836, 5123, 5410, 5697, 5983, 6271, 6557, 6845, 7132, 7418, 7706, 7992, 8279, 8566, 8853, 9141, 9427, 9714, 10001, 10288, 10574, 10862, 11148, 11435, 11723, 12009, 12297, 12583, 12870, 13157, 13444, 13730, 14018, 14305, 14591, 14879, 15165, 15453, 15739, 16026, 16314, 16600, 16887, 17174, 17461, 17747, 18035, 18321, 18608, 18896, 19182, 19470, 19756, 20043, 20330, 20617, 20904, 21191, 21478, 21764, 22052, 22338, 22626]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能10(职业主动技能):
    名称 = "聚合弹"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 18
    MP = [150, 1232]
    无色消耗 = 0
    data0 = [0, 13063, 14389, 15714, 17039, 18364, 19689, 21016, 22341, 23666, 24991, 26318, 27643, 28968, 30293, 31618, 32944, 34269, 35594, 36919, 38246, 39571, 40896, 42221, 43546, 44872, 46197, 47522, 48847, 50174, 51499, 52824, 54149, 55474, 56800, 58125, 59451, 60776, 62101, 63427, 64752, 66077, 67402, 68729, 70054, 71379, 72704, 74029, 75355, 76680, 78005, 79330, 80657, 81982, 83307, 84632, 85957, 87283, 88608, 89933, 91259, 92585, 93910, 95235, 96560, 97885, 99212, 100537, 101862, 103187, 104512]
    hit0 = 1
    data1 = [0, 4792, 5279, 5765, 6251, 6738, 7224, 7709, 8195, 8682, 9168, 9654, 10141, 10627, 11113, 11600, 12086, 12572, 13059, 13544, 14030, 14517, 15003, 15489, 15976, 16462, 16948, 17435, 17921, 18407, 18893, 19379, 19865, 20352, 20838, 21324, 21811, 22297, 22783, 23270, 23756, 24241, 24727, 25214, 25700, 26186, 26673, 27159, 27645, 28132, 28618, 29104, 29590, 30076, 30562, 31049, 31535, 32021, 32508, 32994, 33480, 33967, 34453, 34938, 35424, 35911, 36397, 36883, 37370, 37856, 38342]
    hit1 = 0
    data2 = [0, 3727, 4105, 4484, 4862, 5240, 5618, 5997, 6374, 6752, 7131, 7510, 7887, 8265, 8644, 9021, 9400, 9778, 10157, 10534, 10913, 11291, 11669, 12047, 12426, 12803, 13182, 13560, 13939, 14316, 14694, 15073, 15450, 15829, 16207, 16586, 16963, 17342, 17720, 18098, 18476, 18855, 19232, 19611, 19989, 20368, 20745, 21123, 21502, 21879, 22258, 22636, 23015, 23392, 23771, 24149, 24527, 24905, 25284, 25662, 26040, 26418, 26797, 27174, 27552, 27931, 28308, 28687, 29065, 29444, 29821]
    hit2 = 0
    TP成长 = 0.1
    TP上限 = 5

    CP武器 = False

    def 等效百分比(self, **argv):
        # 武器类型 额外等级 额外倍率 伤害类型 形态
        武器类型 = argv.get('武器类型', '')
        if 武器类型 == '手弩' and not self.CP武器:
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 3
        else:
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
        return super().等效百分比(**argv)

    MP = [150, 1232]


class 技能11(职业主动技能):
    名称 = "C4飞弹"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [150, 1232]
    无色消耗 = 0
    data0 = [0, 11156, 12289, 13420, 14552, 15683, 16816, 17948, 19079, 20210, 21343, 22475, 23606, 24739, 25871, 27002, 28134, 29267, 30398, 31530, 32661, 33794, 34925, 36057, 37190, 38321, 39453, 40584, 41717, 42849, 43980, 45112, 46244, 47376, 48507, 49639, 50772, 51903, 53035, 54168, 55299, 56431, 57562, 58695, 59827, 60958, 62089, 63222, 64354, 65485, 66618, 67750, 68881, 70013, 71146, 72277, 73409, 74540, 75673, 76804, 77936, 79067, 80200, 81332, 82463, 83596, 84728, 85859, 86991, 88123, 89255]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 *= 1.32


class 技能12(职业主动技能):
    名称 = "凝固汽油弹"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [200, 1812]
    无色消耗 = 1
    data0 = [0, 13749, 15143, 16538, 17934, 19329, 20723, 22118, 23513, 24907, 26304, 27698, 29092, 30487, 31882, 33278, 34672, 36067, 37462, 38856, 40253, 41647, 43041, 44437, 45831, 47226, 48620, 50016, 51411, 52805, 54201, 55595, 56989, 58386, 59780, 61175, 62570, 63964, 65359, 66754, 68150, 69544, 70938, 72334, 73728, 75124, 76519, 77914, 79308, 80703, 82099, 83493, 84887, 86283, 87677, 89072, 90468, 91863, 93257, 94652, 96047, 97441, 98835, 100232, 101626, 103021, 104416, 105812, 107206, 108601, 109996]
    hit0 = 1
    data1 = [0, 74, 81, 90, 97, 104, 112, 119, 127, 135, 140, 150, 156, 165, 171, 178, 187, 194, 202, 209, 216, 224, 231, 240, 247, 254, 262, 269, 277, 284, 292, 300, 307, 315, 322, 329, 338, 345, 353, 360, 367, 375, 382, 391, 398, 405, 413, 420, 428, 436, 443, 451, 458, 466, 473, 480, 489, 496, 504, 511, 518, 526, 534, 542, 549, 556, 564, 571, 580, 587, 594]
    hit1 = 15
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 *= 1.4
        self.hit1 = 0
        self.CDR *= 0.94


class 技能13(职业主动技能):
    名称 = "狙击手增援"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [400, 3360]
    无色消耗 = 2
    data0 = [0, 4393, 4838, 5284, 5729, 6175, 6621, 7066, 7512, 7958, 8403, 8849, 9294, 9740, 10186, 10631, 11077, 11523, 11968, 12414, 12859, 13306, 13751, 14196, 14643, 15088, 15534, 15979, 16425, 16871, 17316, 17762, 18208, 18653, 19099, 19544, 19990, 20436, 20881, 21327, 21773, 22218, 22664, 23109, 23556, 24001, 24446, 24892, 25338, 25784, 26229, 26674, 27121, 27566, 28012, 28458, 28903, 29349, 29794, 30240, 30686, 31131, 31577, 32023, 32468, 32914, 33359, 33805, 34251, 34696, 35142]
    hit0 = 8
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.32
        self.技能施放时间 = 2.0


class 技能14(被动技能):
    名称 = '弹药主宰'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    关联技能 = ['所有']
    关联技能1 = ['爆裂弹', '贯穿弹']

    def 加成倍率(self, 武器类型):
        return 1.105 + self.等级 * 0.015 if self.等级 > 0 else 1

    def 加成倍率1(self, 武器类型):
        return 1.3 if self.等级 > 0 else 1


class 技能15(职业主动技能):
    名称 = "黑玫瑰特种战队"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [1000, 8400]
    无色消耗 = 5
    data0 = [0, 2748, 3385, 4023, 4660, 5296, 5934, 6571, 7208, 7846, 8483, 9121, 9758, 10396, 11033, 11671, 12308, 12944, 13581, 14219, 14856, 15494, 16131, 16769, 17406, 18044, 18681, 19318, 19954, 20592, 21229, 21867, 22504, 23142, 23779, 24416, 25054, 25691, 26329, 26966, 27602, 28240, 28877, 29514, 30152, 30789, 31427, 32064, 32702, 33339, 33977]
    hit0 = 16
    data1 = [0, 488, 601, 714, 828, 942, 1054, 1167, 1281, 1395, 1507, 1620, 1734, 1848, 1961, 2074, 2187, 2301, 2415, 2527, 2640, 2754, 2868, 2980, 3094, 3207, 3321, 3433, 3547, 3660, 3774, 3886, 4000, 4113, 4227, 4341, 4453, 4567, 4680, 4794, 4906, 5020, 5133, 5247, 5359, 5473, 5586, 5700, 5812, 5926, 6040]
    # 上下会有一个枪兵空掉一半
    hit1 = 82


class 技能16(职业主动技能):
    名称 = 'G61重力手雷'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 20
    MP = [400, 1120]
    无色消耗 = 2
    data0 = [0, 8624, 9499, 10373, 11248, 12124, 12998, 13874, 14750, 15623, 16499, 17374, 18247, 19123, 19999, 20873, 21749, 22624, 23498, 24373, 25248, 26123, 26999, 27872, 28748, 29623, 30498, 31373, 32249, 33122, 33998, 34873, 35748, 36622, 37497, 38372, 39248, 40122, 40998, 41872, 42747, 43622, 44498, 45371, 46247, 47122, 47997, 48872, 49748, 50621, 51497]
    hit0 = 1
    data1 = [0, 287, 317, 345, 374, 403, 433, 461, 491, 520, 550, 578, 607, 637, 667, 695, 724, 753, 784, 812, 841, 870, 899, 927, 958, 987, 1016, 1044, 1074, 1104, 1133, 1161, 1191, 1220, 1250, 1278, 1307, 1337, 1366, 1395, 1424, 1454, 1483, 1511, 1540, 1571, 1600, 1628, 1657, 1686, 1717]
    hit1 = 29
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 *= 2.01
        self.技能施放时间 = 1.5
        self.hit1 = 15


class 技能17(职业主动技能):
    名称 = "电磁弹：麦克斯韦"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [800, 1680]
    无色消耗 = 3
    data0 = [0, 29613, 32619, 35623, 38627, 41632, 44636, 47640, 50644, 53650, 56654, 59658, 62662, 65666, 68671, 71675, 74680, 77684, 80689, 83693, 86697, 89701, 92705, 95711, 98715, 101719, 104724, 107728, 110732, 113736, 116742, 119746, 122750, 125754, 128758, 131763, 134767, 137772, 140776, 143781, 146785, 149789, 152793, 155798, 158803, 161807, 164811, 167816, 170820, 173824, 176828]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power1 = 1.33
        self.CDR *= 0.95


class 技能18(被动技能):
    名称 = '战地功勋'
    所在等级 = 75
    等级上限 = 30
    学习间隔 = 3
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 3)


class 技能19(职业主动技能):
    名称 = "重火力支援"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [880, 1848]
    无色消耗 = 3
    data0 = [0, 7243, 7977, 8712, 9447, 10181, 10915, 11651, 12385, 13119, 13855, 14589, 15323, 16059, 16793, 17527, 18262, 18997, 19733, 20467, 21200, 21937, 22671, 23405, 24141, 24875, 25609, 26345, 27079, 27813, 28549, 29283, 30017, 30752, 31487, 32221, 32956, 33691, 34425, 35161, 35896, 36631, 37365, 38099, 38835, 39569, 40303, 41039, 41773, 42507, 43243]
    hit0 = 10

    是否有护石 = 1

    def 装备护石(self, char):
        self.脱手 = 1
        self.power0 *= 1.35


class 技能20(职业主动技能):
    名称 = 'G38ARG智能手雷'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 5
    data0 = [0, 23257, 25617, 27975, 30335, 32695, 35053, 37413, 39773, 42131, 44491, 46851, 49211, 51569, 53929, 56289, 58648, 61007, 63367, 65727, 68086, 70445, 72805, 75164, 77524, 79884, 82242, 84602, 86962, 89322, 91680, 94040, 96400, 98758, 101118, 103478, 105836, 108196, 110556, 112916, 115274, 117634, 119994, 122352, 124712, 127072, 129431, 131790, 134150, 136510, 138869]
    hit0 = 1
    data1 = [0, 5426, 5977, 6527, 7078, 7628, 8178, 8729, 9280, 9831, 10381, 10931, 11482, 12032, 12583, 13134, 13685, 14234, 14785, 15336, 15886, 16437, 16988, 17537, 18088, 18639, 19190, 19740, 20291, 20840, 21391, 21942, 22493, 23044, 23594, 24144, 24694, 25245, 25796, 26347, 26898, 27447, 27998, 28548, 29099, 29650, 30199, 30750, 31301, 31852, 32402]
    hit1 = 10

    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 *= 4.22
        self.hit1 = 0


class 技能21(职业主动技能):
    名称 = "超新星核爆"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 8000]
    无色消耗 = 10
    data0 = [0, 111059, 136812, 162565, 188318, 214071, 239824, 265577, 291329, 317082, 342835, 368588, 394341, 420094, 445847, 471600, 497353, 523106, 548860, 574613, 600364, 626117, 651870, 677623, 703376, 729130, 754883, 780636, 806389, 832142, 857895, 883648, 909401, 935153, 960906, 986659, 1012412, 1038165, 1063918, 1089671, 1115424, 1141177, 1166930, 1192683, 1218436, 1244189, 1269941, 1295694, 1321447, 1347200, 1372953]
    hit0 = 1
    data1 = [0, 3172, 3908, 4644, 5380, 6116, 6852, 7588, 8324, 9059, 9795, 10530, 11266, 12001, 12737, 13473, 14209, 14945, 15681, 16417, 17153, 17889, 18624, 19360, 20096, 20832, 21568, 22304, 23038, 23774, 24510, 25246, 25982, 26718, 27454, 28189, 28925, 29661, 30397, 31133, 31869, 32605, 33341, 34077, 34812, 35547, 36283, 37019, 37754, 38490, 39226]
    hit1 = 15


class 技能22(被动技能):
    名称 = '赤诚之心'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['所有']
    关联技能1 = ['交叉射击']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)

    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 1.16


class 技能23(职业主动技能):
    名称 = "皇鹰特战队"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [1067, 8000]
    无色消耗 = 7
    data0 = [0, 10841, 11940, 13040, 14139, 15239, 16340, 17439, 18539, 19639, 20738, 21839, 22938, 24038, 25138, 26237, 27338, 28437, 29537, 30637, 31736, 32837, 33936, 35036, 36136, 37235, 38336, 39435, 40535, 41635, 42734, 43835, 44935, 46034, 47134, 48233, 49334, 50434, 51533, 52633, 53732, 54833, 55933, 57032, 58132, 59231, 60332, 61432, 62531, 63631, 64730]
    hit0 = 4
    data1 = [0, 2890, 3183, 3476, 3770, 4063, 4357, 4650, 4944, 5237, 5530, 5823, 6116, 6409, 6703, 6996, 7290, 7583, 7876, 8170, 8462, 8755, 9049, 9342, 9636, 9929, 10223, 10516, 10809, 11103, 11395, 11688, 11982, 12275, 12569, 12862, 13155, 13449, 13742, 14036, 14328, 14621, 14915, 15208, 15501, 15795, 16088, 16382, 16675, 16967, 17261]
    hit1 = 16
    data2 = [0, 72273, 79604, 86937, 94269, 101600, 108933, 116265, 123597, 130929, 138261, 145593, 152925, 160258, 167589, 174921, 182254, 189585, 196918, 204250, 211581, 218914, 226246, 233577, 240910, 248242, 255574, 262906, 270237, 277570, 284902, 292235, 299566, 306898, 314231, 321562, 328895, 336227, 343558, 350891, 358223, 365555, 372887, 380219, 387551, 394883, 402216, 409547, 416879, 424212, 431543]
    hit2 = 1


class 技能24(职业主动技能):
    名称 = '赤魂风暴狙击'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 8056]
    无色消耗 = 15
    data0 = [0, 4867, 5996, 7125, 8254, 9383, 10512, 11642, 12771, 13898, 15027, 16156, 17285, 18415, 19544, 20673, 21802, 22931, 24058, 25188, 26317, 27446, 28575, 29704, 30833, 31962, 33091, 34219, 35348, 36477, 37606, 38735, 39864, 40993, 42122, 43251, 44379, 45508, 46637, 47766, 48895, 50024, 51153, 52282, 53411, 54539, 55668, 56797, 57926, 59055, 60184]
    hit0 = 12
    data1 = [0, 204473, 251886, 299300, 346715, 394129, 441542, 488958, 536371, 583785, 631199, 678614, 726027, 773441, 820855, 868270, 915684, 963097, 1010512, 1057926, 1105340, 1152753, 1200168, 1247582, 1294996, 1342410, 1389825, 1437238, 1484652, 1532067, 1579481, 1626894, 1674308, 1721723, 1769137, 1816551, 1863964, 1911379, 1958793, 2006207, 2053622, 2101035, 2148449, 2195863, 2243278, 2290692, 2338105, 2385519, 2432934, 2480348, 2527761]
    hit1 = 1
    data2 = [0, 73026, 89959, 106892, 123827, 140760, 157693, 174627, 191561, 208494, 225428, 242361, 259295, 276229, 293162, 310095, 327030, 343963, 360896, 377830, 394764, 411697, 428630, 445565, 462498, 479431, 496366, 513299, 530232, 547167, 564100, 581033, 597968, 614901, 631834, 648767, 665702, 682635, 699568, 716502, 733436, 750369, 767303, 784237, 801170, 818104, 835037, 851971, 868905, 885838, 902771]
    hit2 = 4
    data3 = [0, 3893, 4798, 5701, 6604, 7507, 8410, 9313, 10216, 11119, 12022, 12926, 13829, 14732, 15635, 16538, 17441, 18344, 19247, 20150, 21054, 21957, 22860, 23763, 24666, 25569, 26472, 27375, 28278, 29181, 30085, 30988, 31891, 32794, 33697, 34600, 35503, 36406, 37309, 38213, 39116, 40019, 40922, 41825, 42728, 43631, 44534, 45437, 46341, 47244, 48147]
    hit3 = 3
    data4 = [0, 17525, 21590, 25654, 29718, 33782, 37846, 41910, 45974, 50038, 54102, 58166, 62230, 66294, 70358, 74422, 78486, 82551, 86615, 90679, 94743, 98807, 102871, 106935, 110999, 115063, 119127, 123191, 127255, 131319, 135383, 139448, 143512, 147576, 151640, 155704, 159768, 163832, 167896, 171960, 176024, 180088, 184152, 188216, 192280, 196345, 200409, 204473, 208537, 212601, 216665]
    hit4 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'spitfire_male'
        self.名称 = '重霄·弹药专家'
        self.角色 = '神枪手(男)'
        self.职业类型 = '输出'
        self.职业 = '弹药专家'
        # 用来筛CP武器的
        self.转职 = '弹药专家(男)'
        self.武器选项 = ['手弩', '步枪']
        self.输出类型选项 = ['魔法百分比', '物理百分比']
        self.防具精通属性 = ['智力', '力量']
        self.类型 = '魔法百分比'
        self.武器类型 = '手弩'
        self.防具类型 = '皮甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.84

        super().__init__(equVersion)

    # def __set_individuation(self, info):
    #     info['individuation'] = [
    #         {"type": "checkbox", "value": "测试checkbox",
    #             "items": [], "row":0, "column":0, "key":0},
    #         {"type": "select", "value": "", "items": [
    #             1, 2, 3, 4, 5, 6, 7], "row":1, "column":0, "key":1},
    #         {"type": "label", "value": "测试label",
    #          "items": [], "row":2, "column":0, "key":2}
    #     ]

    def set_skill_info(self, info, rune_except=[], clothes_pants=[]):
        super().set_skill_info(info, rune_except=[
            '爆裂弹', '贯穿弹'], clothes_pants=['远古记忆'])
